Reverse time migration is widely accepted as a preferred imaging technique for exploration and production in geological volumes, particularly those having complex structures. Despite its computational costs, reverse time migration is increasingly affordable due, for example, to optimization to numerical solvers and use of computer clusters. In recent years, the availability of co-processors such as GPUs and FPGAs has provided additional promise to significantly improve reverse time migration efficiency. In conventional approaches, however, using saved source wavefields and/or boundary values at each time step while performing reverse time migration is still a limiting factor in fully taking advantage of the computation power offered by co-processors.